home *** CD-ROM | disk | FTP | other *** search
/ BMUG PD-ROM A / PD-ROM A.iso / Programming / Programming Languages / MacOberon / MacOberon (tools) / Agenda.Tool (.txt) < prev    next >
Encoding:
Oberon Text  |  1990-12-21  |  4.8 KB  |  83 lines  |  [.Ob./.Ob2]

  1. Syntax10.Scn.Fnt
  2. Syntax10i.Scn.Fnt
  3. Agenda.SetAlarms Calendar.Sample.Text
  4. -----------------------------------------
  5. Commands supported by Agenda
  6. All commands use a file (typically named Calendar.Text) to look for relevant agenda entries.
  7.     Agenda.SetAlarms file-name        get all coming alarms of today, install them in the AlarmClock system, and display them
  8.     Agenda.SetAlarms file-name /!        as above, but the output is directed to the log viewer
  9.     Agenda.Today file-name        coming alarms of today
  10.     Agenda.Tomorrow file-name        alarms for the following day
  11.     Agenda.Week file-name        alarms for the current week
  12.     Agenda.NextWeek file-name        alarms for the next week
  13.     Agenda.Month file-name        alarms for the current month
  14.     Agenda.Month file-name number        alarms for the month numbered
  15. Commands supported by AlarmClock tool
  16.     AlarmClock.ClearAlarms
  17.             Clears installed alarms.
  18.     AlarmClock.Start  [inverse]
  19.             Open an AlarmClock viewer; starts AlarmClock if it is not already running.
  20.             Option "inverse" declares black-on-white to be the default video mode (otherwise white-on-black is used).
  21.     AlarmClock.GetWarnings
  22.             Calls the handlers for pending warnings in the order of their occurance. A handler may decide to
  23.             scan forwards for further warnings that it can handle (by performing type tests). Each handled
  24.             warning (except for the one the handler was originally called for) must be marked by setting the
  25.             flag handled.
  26. Syntax for entries in calendar files used by the Agenda tool            cas, 31 Oct 88
  27. The Agenda tool uses standard text files. Each line is either empty, a comment, or a single calendar entry.
  28. Comment lines begin with one of the following special characters:        _    (shift -)        |    (shift \)        *
  29. Each individual calendar entry follows the syntax:
  30. $    Entry = [">"] Date ";" Time [";" Location [";" Message ]].
  31. $    Date = [Weekday] [FromDate] ["-" TillDate] ["!" AlertDate].
  32. $    Time = [FromTime] ["-" TillTime] ["!" AlertTime].
  33. $    Location = "character string w/o ";" and CR".
  34. $    Message = "character string w/o CR".
  35. $    FromDate, TillDate, AlertDate = DateForm.
  36. $    FromTime, TillTime, AlertTime = TimeForm.
  37. The optional ">" declares urgent entries (used as hint to module AlarmClock); results in a flashing screen upon alarm time.
  38. The Date field defines a weekday, a validity and an alert range.  In the full form W,F-T!A the weekday range is W,
  39. the validity range is [F..T], and the alert range is [A-T].  The validity range denotes the range actually occupied by
  40. the calendar entry, while the alert range allows early reminders.  Each of the date fields follows the syntax:
  41. $    Weekday = {WDayRange ","}.
  42. $    WDayRange = wDayName | (wDayName "-" wDayName).
  43. $    wDayName = "monday" | "tuesday" | "wednesday" |... "saturday" | "sunday".
  44. $                        = "montag" | "dienstag" | "mittwoch" |... "samstag" | "sonntag".
  45. $    DateForm = dayNum "." [MonthID "." [yearID]].
  46. $                     = monthName [yearID].
  47. $                     = yearID.
  48. $    dayNum = 1|2|3|... 30|31.
  49. $    MonthID = monthNum | monthName.
  50. $    monthNum = 1|2|3|... 11|12.
  51. $    monthName = "january" | "february" | "march" |... "november" | "december".
  52. $                         = "januar" | "februar" | "m
  53. rz" |... "november" | "dezember".
  54. $    yearID = actYearNum | yearNum.
  55. $    actYearNum = ["'"] 0|1|2|... 98|99.
  56. $    yearNum = 100|101|102|... 9998|9999.
  57. The Time field defines a validity and an alert range.  In the full form F-T!A the validity range is [F..T], and the
  58. alert range is [A-T].  These are similar to the corresponding date ranges and follow the syntax:
  59. $    TimeForm = hour [":" minute].
  60. $    hour = 0|1|2|... 22|23.
  61. $    minute = 0|1|2|... 58|59.
  62. Remarks:
  63. -    wDayName and monthName are not case sensitive (true for 
  64. , too); also it is sufficient to give 2 or more
  65.       (for wDayName) resp. 3 or more (for monthName) correct prefix characters: "Su" for "sunday" is OK.
  66. -    for enhanced readability, the comma (,) after the last WDayRange may be left out if no further date form
  67.       follows: Mo-Fr; 19:00;... is OK.
  68. -    actYearNum (i.e. years between 0 and 99) is extended to 19xx; for example 88 is interpreted as 1988.
  69.       ('88 is OK, too.)
  70. -    leading spaces (for character sequences) and leading zeroes (for numbers) are ignored.
  71. Examples:
  72.     Montag;                Every monday an (empty) alarm
  73.     July;                Every day in every july
  74.     Tue, August;                Every tuesday in august
  75.     wed, 16.-22.;                Every wednesday that falls between 16. and 22. in every month
  76.     ;10                Every day at 9:45
  77.     ;!10                Every day at 10:00
  78.     Mo-Fr, 1. Jan; 1:23-23:45!0; Here-and-there; A happy day!
  79.                 Signals an alarm at the first possible time after 0:00 that at location
  80.                 "Here-and-there" the message "A happy day!" applies, if january 1st
  81.                 falls on a working day that year.
  82. cas 15 May 90
  83.